* {
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB,
    Microsoft YaHei, Helvetica Neue, Helvetica, Arial, sans-serif, Apple Color Emoji,
    Segoe UI Symbol;
}

html {
  height: 100%;
  text-size-adjust: 100%;
}

body {
  height: 100%;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#app {
  width: 100%;
  height: 100%;
}

//////////////////////////////////////////////////
// tw-common
//////////////////////////////////////////////////
.flex-space-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.split-line {
  padding: 0px 5px;
}

//////////////////////////////////////////////////
// tw-layout
//////////////////////////////////////////////////

// 最外层布局
.tw-wrap {
  height: 100%;
  background-color: #ffffff;
}

.tw-layout-wrapper {
  height: calc(100% - 20px);
  background-color: #ffffff;

  &.tw-layout_padding {
    padding: 10px;
  }

  // 工具条
  .tw-layout__toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 10px;

    .el-divider {
      height: 25px;
      width: 2px;
      margin: 0px 10px;
      background-color: #dcdfe6;
    }

    // 自定义按钮
    .btns-custom {
      display: flex;
      justify-content: flex-start;
      align-items: center;

      .el-button {
        .svg-icon {
          margin-right: 5px;
        }
      }
    }
  }

  .tw-layout__header {
    margin: 10px 0px;
    padding: 15px;
    background-color: #f2f5f7;

    .btn-group {
      text-align: right;

      .el-button {
        .svg-icon {
          margin-right: 5px;
        }
      }
    }

    .el-form-item {
      margin-bottom: 8px;
    }

    .el-select {
      width: 100%;
    }

    .el-date-editor {
      width: 100%;
    }
  }

  .tw-layout__body {
    min-height: 300px;
  }
}

// 折叠起来的更多操作面板
.tw-layout__toolbar-left-more__popover {
  min-width: auto !important;

  .toolbar-more-btns {
    display: flex;
    flex-wrap: wrap;

    .el-button {
      margin: 3px 10px 3px 0px;
    }

    .el-divider {
      height: 2px;
      margin: 5px 0px;
      border-top: 0px;
      background-color: #dcdfe6;
    }
  }
}

//////////////////////////////////////////////////
// tw-table
//////////////////////////////////////////////////
.tw-table-wrapper {
  height: 100%;

  .vxe-pager--left-wrapper {
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;

    .el-button {
      padding: 6px;
      min-height: 25px;
    }

    .tw-table-page-left-icon {
      font-size: 14px;
      cursor: pointer;
    }
  }

  // 列设置弹框
  .tw-custom-column-wrapper {
    .custom-column-checked-all {
      padding-left: 23px;
    }

    .custom-column-divider {
      margin: 3px 0px;
    }

    .el-tree-node__content {
      width: 100%;

      .custom-tree-node {
        display: flex;
        justify-content: space-between;
        width: 100%;
      }
    }
  }

  // 导出Excel
  .tw-export-excel-wrapper {
    .tw-dialog__body-content {
      display: flex;
      justify-content: center;
      align-items: center;

      .el-radio-group {
        display: inline-grid;

        .el-radio {
          font-size: 16px;
          margin-bottom: 10px;
        }
      }
    }
  }

  .vxe-cell {
    .el-button {
      font-size: 12px;
      letter-spacing: 1px;
    }

    .el-button + .el-button {
      margin-left: 8px;
    }
  }
}

//////////////////////////////////////////////////
// loading遮罩
//////////////////////////////////////////////////
.tw-loading-mask {
  position: absolute;
  z-index: 6000;
  background-color: var(--tw-mask-color);
  margin: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  cursor: not-allowed;
}

//////////////////////////////////////////////////
// tw-dialog
//////////////////////////////////////////////////
.tw-dialog-wrapper {
  margin: var(--el-dialog-margin-top, 10vh) auto 0px;
  border-radius: 3px;

  &.is-fullscreen {
    margin: 0.3% auto;
    width: calc(100% - 20px);
    height: calc(100% - 20px);

    .el-dialog__body {
      height: calc(100% - 88px);
    }

    &.tw-dialog-none-footer {
      .el-dialog__body {
        height: calc(100% - 42px);
      }
    }
  }

  .el-dialog__header {
    display: flex;
    justify-content: space-between;
    align-items: center;

    margin: 0px;
    padding: 0px 15px;
    background-color: #f8f8f8;
    border-bottom: 1px solid #ebeef5;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;

    .title {
      padding: 10px 0px;
    }

    .tw-dialog__btn {
      width: 30px;
      height: 100%;
      color: #606266;

      :hover {
        color: #409eff;
      }

      .svg-icon {
        width: 1.5em;
        height: 1.5em;
      }
    }
  }

  .el-dialog__body {
    margin: 0px;
    padding: 0px;
    height: calc(100% - 76px);

    .tw-dialog__body {
      height: 100%;

      .tw-dialog__body-content {
        padding: 10px;
      }
    }
  }

  .el-dialog__footer {
    margin: 0px;
    padding: 10px 10px 9px 10px;
  }

  .el-form {
    .el-date-editor,
    .el-cascader,
    .el-input-number,
    .el-select {
      width: 100%;
    }
  }
}

//////////////////////////////////////////////////
// tw-drawer
//////////////////////////////////////////////////
.tw-drawer {
  // 组件内弹出
  &.tw-overlay-sticky {
    position: sticky;
  }

  .el-drawer__header {
    margin-bottom: 0px;
    padding: 10px;
    border-bottom: 1px solid #e8eaec;
  }

  .el-drawer__body {
    padding: 0px;

    .tw-drawer__body {
      height: 100%;
    }
  }

  .el-drawer__footer {
    padding: 10px;
    border-top: 1px solid #e8eaec;
  }

  .el-form {
    .el-select {
      width: 100%;
    }

    .el-date-editor {
      width: 100%;
    }
  }
}

//////////////////////////////////////////////////
// tw-section
//////////////////////////////////////////////////
.tw-section-wrapper {
  background-color: #fff;
  .tw-section-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 10px 0px;

    &__decoration {
      margin-right: 6px;

      &.line {
        width: 4px;
        height: 12px;
        border-radius: 10px;
      }

      &.circle {
        width: 8px;
        height: 8px;
        border-top-right-radius: 50px;
        border-top-left-radius: 50px;
        border-bottom-left-radius: 50px;
        border-bottom-right-radius: 50px;
      }

      &.square {
        width: 8px;
        height: 8px;
      }
    }

    &__content {
      display: flex;
      flex-direction: column;
      flex: 1;
      color: #333;

      .distraction {
        flex-direction: row;
        align-items: center;
      }
      &-sub {
        margin-top: 2px;
        margin-left: 5px;
      }
    }

    &__slot-right {
      font-size: 14px;
    }
  }

  .tw-section-content {
    font-size: 14px;
  }
}

//////////////////////////////////////////////////
// Tinymce 富文本
//////////////////////////////////////////////////
.tox {
  &.tox-silver-sink {
    &.tox-tinymce-aux {
      z-index: 5000 !important;
    }
  }
}
